Smarter electronic reader

ABSTRACT

Embodiments of the present invention provide methods, computer program products, and systems for enriching and customizing one or more portions of textual content. Embodiments of the present invention analyze one or more portions of the textual content and customize the textual content based on preferences of a user interacting with the textual content. Embodiments of the present invention can present customized or original textual content to users requesting textual content.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of contentenrichment, and more particularly to enriching textual content based oncharacteristics of a user.

Textual content may be presented electronically to a user of a computersystem subsequent to fulfilling the user's request to receive thetextual content. The manner in which the textual content is presentedcan be static and open to interpretation, based, at least in part on,characteristics of the user. For example, a first user (e.g., a Spanishspeaking user) and a second user (e.g., an experienced financial expert)may request to receive the same textual content (e.g., newspaperarticle, magazine, e-book, etc.). In this instance, the first and thesecond user will be presented with unmodified, static textual content,regardless of differences between the users (e.g., comprehensiveability, language barrier, subject matter exposure, etc.).

SUMMARY

According to one embodiment of the present invention, a method forenriching textual content based on characteristics of a user isprovided. The method includes: analyzing, by one or more computerprocessors, preferences of a user of a computer system to identify a setof customization rules; analyzing, by one or more computer processors,one or more portions of textual content requested by the user of thecomputer system to identify one or more textual elements forcustomization; monitoring, by one or more computer processors, the userof the computer system, wherein the user of the computer systeminteracts with the requested textual content; and customizing, by one ormore computer processors, the one or more portions of the textualcontent based, at least in part, on the set of customization rules.

According to another embodiment of the present invention, a computerprogram product for enriching textual content based on characteristicsof a user is provided. The computer program product comprises a computerreadable storage medium and program instructions stored on the computerreadable storage medium. The program instructions include: programinstructions to analyze preferences of a user of a computer system toidentify a set of customization rules; program instructions to analyzeone or more portions of textual content requested by the user of thecomputer system to identify one or more textual elements forcustomization; program instructions to monitor the user of the computersystem, wherein the user of the computer system interacts with therequested textual content; and program instructions to customize the oneor more portions of the textual content based, at least in part, on theset of customization rules.

According to another embodiment of the present invention, a computersystem for enriching textual content based on characteristics of a useris provided. The computer system includes one or more computerprocessors, one or more computer readable storage media, and programinstructions stored on the computer readable storage media for executionby at least one of the one or more processors. The program instructionsinclude: program instructions to analyze preferences of a user of acomputer system to identify a set of customization rules; programinstructions to analyze one or more portions of textual contentrequested by the user of the computer system to identify one or moretextual elements for customization; program instructions to monitor theuser of the computer system, wherein the user of the computer systeminteracts with the requested textual content; and program instructionsto customize the one or more portions of the textual content based, atleast in part, on the set of customization rules.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computing environment, in accordance withan embodiment of the present invention;

FIG. 2 is a flowchart illustrating operational steps for providing acustomized textual content to a user of computer system, in accordancewith an embodiment of the present invention;

FIG. 3 is a flowchart illustrating operational steps for translating oneor more portions of textual content, in accordance with an embodiment ofthe present invention;

FIG. 4 is a flowchart illustrating operational steps for customizing oneor more portions of textual content, in accordance with an embodiment ofthe present invention; and

FIG. 5 is a block diagram of internal and external components of thecomputer systems of FIG. 1, in accordance with an embodiment of thepresent invention.

DETAILED DESCRIPTION

Embodiments of the present invention provide efficient andcost-effective systems and methods for enriching and customizing one ormore portions of textual content based, at least in part, oncharacteristics of a user of a computer system. Embodiments of thepresent invention provide systems and methods that can selectivelytranslate and modify one or more portions of the textual content. Inthis manner, as discussed in greater detail later in this specification,embodiments of the present invention can be used to extend capabilitiesof computer systems that are involved in presenting textual content toone or more users by providing customized textual content to the one ormore users.

FIG. 1 is a functional block diagram of computing environment 100, inaccordance with an embodiment of the present invention. Computingenvironment 100 includes computer system 110, and content providers 130,interconnected over network 140. Computer system 110 can be a desktopcomputer, laptop computer, specialized computer server, or any othercomputer system known in the art. In certain embodiments, computersystem 110 represents a computer system utilizing clustered computersand components to act as a single pool of seamless resources whenaccessed through network 140. For example, such embodiments may be usedin data center, cloud computing, storage area network (SAN), and networkattached storage (NAS) applications. In certain embodiments, computersystem 110 represents a virtual machine. In general, computer system 110is representative of any electronic device, or combination of electronicdevices, capable of executing machine-readable program instructions, asdescribed in greater detail with regard to FIG. 5.

Computer system 110 includes interface 112, services 114, repository116, basic translator 118, flow controller 120, sensory interface 122,profile database 124, and advanced translator 126. In this embodiment,computer system 110 presents textual content to a user of computersystem 110. For example, the user of computer system 110 may be astudent reading an e-textbook on computer system 110 (e.g., ane-reader). Furthermore, there may be an author and/or publisher of thee-textbook as well as a supervisor that may supervise the student. Asdiscussed in greater detail later in this specification, the user ofcomputer system 110, author and/or publisher of the textual content, andsupervisor of the user of computer system 110 may all affect a manner inwhich computer system 110 presents the textual content to the user ofcomputer system 110. Computer system 110 exchanges data (e.g., textualcontent to be presented to the user, user preferences, etc.) betweencontent providers 130 via network 140.

Interface 112 is a program that provides an interface between a user ofcomputer system 110 and a plurality of applications that reside on theclient device. A user interface, such as interface 112, refers to theinformation (such as graphic, text, and sound) that a program presentsto a user, and the control sequences the user employs to control theprogram. A variety of types of user interfaces exist. In one embodiment,interface 112 is a graphical user interface. A graphical user interface(GUI) is a type of user interface that allows users to interact withelectronic devices, such as a computer keyboard and mouse, throughgraphical icons and visual indicators, such as secondary notation, asopposed to text-based interfaces, typed command labels, or textnavigation. In computing, GUIs were introduced in reaction to theperceived steep learning curve of command-line interfaces which requirecommands to be typed on the keyboard. The actions in GUIs are oftenperformed through direct manipulation of the graphical elements. Inanother embodiment, interface 112 is a script or application programminginterface (API). As discussed in greater detail herein, the user ofcomputer system 110 interacts with interface 112 to access and selectavailable textual content. Accordingly, interface 112 presents availabletextual content to the user of computer system 110. The phrase,“available textual content,” as used herein, refers to textual contentthat the user of computer system 110 has granted access to interact with(e.g., read, write, etc.). In this embodiment, the user of computersystem 110 is granted access if the user has purchased the textualcontent, the textual content was provided by an author and/or publisher,the textual content was provided by a supervisor, etc.

Services 114 provide data from various services (e.g., social analytics,reader profiles, etc.) to be leveraged by computer system 110. In thisembodiment, a social analytics service provides data from computersystem 110 to social media services. For example, using the socialanalytics service, computer system 110 can update status information onsocial media services such as, “Completed Read: BOOK TITLE” or, “Reader,Joe Doe, has read ten fantasy books this summer.” In this embodiment, areader profile service provides data from profile database 124 to athird-party service. The data provided is based, at least in part, onprofile information stored in profile database 124, such as, age,interests, location, and preference information. The preferenceinformation may include one or more books that interest a user ofcomputer system 110, favorite genres of the user of computer system 110,alteration trends, attentiveness trends, etc. In another example, thesocial analytics service may receive an indication from a social medianetwork that a user of computer system 110 has recently won a chesstournament. In this instance, services 114 provide this information fromthe social media network to computer system 110. Accordingly, computersystem 110 may leverage this information in subsequent processing oftextual content to make the textual content more customized for the userof computer system 110 (i.e., ensure that a book that the user ofcomputer system 110 is reading does not provide novice descriptionsand/or examples of chess).

Repository 116 contains catalogs of textual content (e.g., books,articles, magazines, etc.) and sets of customization rules thatcorrespond to respective instances of textual content. For example,authors and/or publishers of textual content may specify a unique set ofcustomization rules to control an extent to which the correspondingtextual content can be altered. In another example, a set ofcustomization rules may prevent individual customization of textualcontent, but may include alternate textual content that may be used forcustomization instead. Stated differently, an author may provide rulesthat specify to use alternative textual content for customization andprohibit individual customization for a user of computer system 110.

Basic translator 118 manipulates one or more portions of textualcontent. In this embodiment, a user of computer system 110 interactswith (e.g., reads, annotates, etc.) textual content (e.g., an e-book) oncomputer system 110. Furthermore, basic translator 118 uses atranslation map to translate one or more portions of textual contentbetween two or more different languages based, at least in part, on userpreferences stored in profile database 124. For example, a user ofcomputer system 110 may be not be proficient in English, but may bereading an English news article on computer system 110. In thisinstance, the user of computer system 110 may have user preferencesstored in profile database 124 indicating that all non-technical,advanced-level English words are to be translated to a Spanishequivalent. Accordingly, basic translator 118 changes textual content oftextual media to meet language preferences of a user of computer system110.

Flow controller 120 interacts with interface 112, services 114, basictranslator 118, profile database 124, advanced translator 126, andcontent providers 130. In this embodiment, flow controller 120 includesa plurality of components such as, a user profile updater, a preferenceanalysis component, a supervisor control component, a book customizationcomponent, and a book retriever component. The user profile updatercreates, updates, and/or stores preferences and information for profiledatabase 124. The preference analysis component uses services 114 andsensory interface 122 to analyze user preferences. Subsequent toanalyzing user preferences, the preference analysis component updatesprofile database 124 via the user profile updater. Components ofcomputer system 110 can utilize the preference analysis component toprovide recommendations for different textual content to be presented toa user. The supervisor control component controls additional featuresfor supervisors. For example, in a classroom setting, a student may be auser of computer system 110 and his or her teacher may be a supervisor.In this instance, the supervisor may use the supervisor controlcomponent to control features such as, reading level, alternativevocabulary, assigned passages for reading, etc. The book customizationcomponent interacts with interface 112 to determine whether textualcontent requires customization based, at least in part, on user andauthor preferences stored in profile database 124. The book retrievercomponent determines available textual content for a user of computersystem 110.

Sensory interface 122 includes one or more components (e.g., camera,GPS, internal clock, etc.) to perform analytics and estimate anengagement level of a user of computer system 110. In this embodiment,the engagement level represents a relationship between the user ofcomputer system 110 and a textual content that the user of computersystem 110 interacts with (read, annotate, etc.). For example, a highengagement level for the user of computer system 110 may indicate thatthe user of computer system 110 is absorbed by and is enthusiastic abouttheir interaction with the textual content. Sensory interface 122 usesone or more components to determine the engagement level for the user ofcomputer system 110. For example, the one or more components of sensoryinterface 122 may include a front-facing camera disposed upon computersystem 110. In this instance, sensory interface 122 uses thefront-facing camera to determine the level of engagement for the user ofcomputer system 110, based on various factors (e.g., monitoring eyemovement (to detect attentiveness and/or sleepiness), monitoring mouthmovement (to detect yawning), monitoring orientation and positioning ofcomputer system 110, etc.). If the user of computer system 110 has a lowengagement level while interacting with the textual content, then textcontent may be automatically modified to increase the engagement levelof the user. In this embodiment, information retrieved and analyzed bysensory interface 122 are stored in repository 116.

Profile database 124 contains one or more profiles for each of one ormore users of computer system 110. In this embodiment, profiles arecreated for users of computer system 110, authors and/or publishers oftextual content, and supervisors. Profile information can include userbackground information, profile analysis information, social background,expertise, user diction, reading level, secondary language level, etc.In certain embodiments, additional information (e.g., proficiency inspecific areas or fields, etc.) can be stored in profile database 124.

In yet another embodiment, additional profile information may includepreferred style of writing (e.g., normal, verbose, abridged, terse,summary, action, romance, descriptive, etc.). Furthermore, multipleprofiles may be created for a single user of computer system 110. Forexample, a user of computer system 110 may have a first profile (e.g., aschool profile) and a second profile (e.g., a home profile). In thisinstance, each profile is stored in profile database 124. Furthermore,profiles can be updated in profile database 124 to reflect changes inuser preferences or profile information. Accordingly, the user ofcomputer system 110 may select a profile to be used from profiledatabase 124 once the user begins to interact with textual content. Inanother embodiment, the user of computer system 110 can select differentversions of the same profile. For example, a user begins to read afantasy novel starting in May 2014 using a first profile. In thisinstance, sensory interface 122 may detect a high level of engagement,in which case a newer version of the first profile and associatedmetadata will be saved in profile database 124 to create a secondprofile. Later, when the user of computer system 110 begins to interact(e.g., read) other textual content, the user of computer system 110 canselect either the first or the second profile to be activated. It shouldbe understood, that associated metadata may include information thatdescribes aspects of the textual content or customization of the textualcontent that made the user of computer system 110 engaged.

Network 140 can be, for example, a local area network (LAN), a wide areanetwork (WAN) such as the Internet, or a combination of the two, andinclude wired, wireless, or fiber optic connections. In general, network140 can be any combination of connections and protocols that willsupport communications between content providers 130 and computer system110, in accordance with a desired embodiment of the invention.

Content providers 130 interacts with computer system 110 and componentstherein via network 140. In this embodiment, content providers 130provide textual content requested by a user of computer system 110. Abook retrieval component of flow controller 120 grants the user ofcomputer system 110 access to requested textual content if the requestedtextual content is available textual content, as previously discussed.Additionally, content providers 130 include various social media toolsand news feeds that are accessed to obtain and update preferencesettings (e.g., supplemental user preference settings from social mediaanalytics, etc.)

FIG. 2 is a flowchart 200 illustrating operational steps for providing acustomized textual content to a user of computer system 110, inaccordance with an embodiment of the present invention. It should beunderstood, that operational steps described in FIG. 2 can be performedfor one or more unique users of computer system 110, different textualcontent, and/or different profiles selected by the user of computersystem 110.

In step 202, computer system 110 authenticates a user of computer system110. An authenticated user of computer system 110 has access toavailable textual content. In this embodiment, computer system 110 usesinterface 112 to provide information (e.g., username, password, etc.) toauthenticate the user of computer system 110. In other embodiments, theuser of computer system 110 may authenticate the user of computer system110 in a different manner. For example, computer system 110 can utilizefacial recognition technologies to authenticate the user of computersystem 110. It should be understood that, for subsequent operationalsteps described in FIG. 2 (e.g., step 204 to step 214), the user ofcomputer system 110 is an authenticated user of computer system 110.

In step 204, computer system 110 displays a list of the availabletextual content to the user of computer system 110. In this embodiment,the user of computer system 110 interacts with interface 112 for accessto the available textual content. In one embodiment, one or more usersof computer system 110 use computer system 110. In this instance, uniquetextual content may be displayed to each of the one or more users ofcomputer system 110, based, at least in part, on the available textualcontent for each of the one or more users of computer system 110. Aspreviously discussed, computer system 110 displays the list of availabletextual content which includes textual content that the user of computersystem 110 has purchased and/or was provided by an author and/orpublisher.

In step 206, computer system 110 receives profile information, based, atleast in part, on authentication information of the user (provided instep 202) or on a profile selection made by the user of computer system110. For example, the authentication information provided by the user ofcomputer system 110 may be associated with one or more profiles for theuser of computer system 110. Accordingly, the provided authenticationinformation is associated with profile information for the user ofcomputer system 110. In this embodiment, the user of computer system 110interacts with interface 112 to select an existing profile stored inprofile database 124. In one embodiment, the user of computer system 110may interact with interface 112 to create a new profile, store the newprofile in profile database 124, and select the newly created profile.Each profile may be associated with unique profile informationdescribing, user background information, profile analysis information,social background, expertise, user diction, reading level, secondarylanguage level, etc. Accordingly, after the user of computer system 110uses interface 112 to select an existing profile or create a newprofile, computer system 110 receives profile information associatedwith the profile.

In step 208, computer system 110 grants access to textual contentrequested by the user of computer system 110. In this embodiment, theuser of computer system 110 interacts with interface 112 to selecttextual content to interact with (read, annotate, translate, etc.). Thetextual content requested by the user of computer system 110 is storedin repository 116 and is provided to the user of computer system 110 viainterface 112. In certain embodiments, the user of computer system 110may select textual content that is not an available textual content tothe user of computer system 110. In this instance, interface 112 mayalert the user of computer system 110 that the textual content requestedis not available textual content. Furthermore, the user of computersystem 110 may interact with computer system 110 to obtain the requestedtextual content.

In step 210, computer system 110 determines whether to customize therequested textual content. In this embodiment, flow controller 120 andcomponents therein analyze the selected profile and the requestedtextual content. Furthermore, flow controller 120 may reference a set ofcustomization rules (e.g., customization rules provided by anauthor/publisher of textual content and/or supervisor) that correspondto the requested textual content, stored in repository 116. In oneembodiment, referencing the set of customization rules corresponding tothe requested textual content can help determine an extent to customizethe requested textual content. For example, the set of customizationrules may prevent individual customization of textual content, but mayinclude alternate textual content that computer system 110 can use forcustomization instead. In another embodiment, sensory interface 122 maydetermine that the user of computer system 110 has a low engagementlevel when interacting with the textual content. In this instance, flowcontroller 120 and components therein (e.g., book customizationcomponent, preference analysis component, etc.) determine a manner inwhich to customize the textual content, such that the user of computersystem 110 will experience an increased engagement level.

In response to, computer system 110 determining to customize therequested textual content (step 210, yes branch), then computer system110 customizes the textual content (step 214). In this embodiment,computer system 110 customizes the textual content using basictranslator 118 and/or advanced translator 126, as described in FIG. 3and FIG. 4.

In response to, computer system 110 determining not to customize therequested textual content (step 210, no branch), then computer system110 does not customize the requested textual content (step 212).

Accordingly, computer system 110 presents the requested textual contentto the user of computer system 110. In one embodiment, computer system110 presents customized textual content to the user of computer system110 (step 214). In another embodiment, computer system 110 presentsoriginal requested textual content to the user of computer system 110(step 212).

FIG. 3 is a flowchart 300 illustrating operational steps forcustomization of requested textual content, in accordance with anembodiment of the present invention. As previously discussed, foroperational steps described in FIG. 3, the user of computer system 110is an authenticated user of computer system 110 and is granted access tointeract with available textual content via interface 112. Furthermore,operational steps for customization of requested textual content may beperformed subsequent to computer system 110 determining to customize therequested textual content, as described in step 210 of FIG. 2.

In step 302, computer system 110 analyzes profile information. Aspreviously discussed, computer system 110 receives profile information,based, at least in part, on user authentication or a profile selectionmade by the user of computer system 110 (in step 206 of FIG. 2). In thisembodiment, flow controller 120 and components therein (e.g., bookcustomization component, preference analysis component, etc.) analyzethe selected profile. Furthermore, computer system 110 uses the analyzedprofile information in subsequent processing for determining a manner tocustomize the requested textual content. For example, the analyzedprofile information may indicate that the user of computer system 110practices basic vocabulary words in Spanish. In this instance, flowcontroller 120 and components therein may determine to customize therequested textual content such that the user of computer system 110 mayincrease user's proficiency in Spanish vocabulary.

In step 304, computer system 110 analyzes the requested textual contentto determine a manner in which to customize the requested textualcontent. In this embodiment, computer system 110 uses various contentanalysis tools (e.g., natural language processing, semantic analysis,etc.) to analyze the requested textual content. For example, computersystem 110 may analyze the requested textual content by parsing therequested textual content into one or more portions of textual content(e.g., words, phrases, etc.). The one or more portions of textualcontent in addition with analyzed profile information can be used insubsequent processing to determine a manner to customize the one or moreportions of the textual content.

In step 306, computer system 110 accesses a translation map stored inrepository 116. Furthermore, basic translator 118 uses the translationmap and the one or more portions of textual content to customize (e.g.,translate) the one or more portions of textual content between two ormore different languages based, at least in part, on analyzed profileinformation. Implementing basic translator 118 to customize the one ormore portions of textual content enables the user of computer system 110to more easily understand customized (e.g., translated) vocabulary andphrases presented in the original requested textual content. Forexample, the original requested textual content may be in the user ofcomputer system 110's primary language. In this instance, the user ofcomputer system 110 may indicate (e.g., via profile selection) that theuser of computer system 110 wishes to learn a secondary language.Accordingly, computer system 110 utilizes basic translator 118 tocustomize the original textual content, in accordance with analyzedprofile information. In certain embodiments, computer system 110references the set of customization rules that correspond to therequested textual content to determine an extent to customize therequested textual content.

In step 308, basic translator 118 customizes (e.g., translates) one ormore portions of textual content between languages. In certainembodiments, computer system 110 can perform additional customization ofthe requested textual content based on the analyzed profile information(e.g., reading level, vocabulary, context, etc.). Accordingly, computersystem 110 utilizes advanced translator 126 to perform additionalcustomization of the requested content, as described in greater detailwith regard to FIG. 4. It should be understood that, computer system 110may present the customized textual content to the user of computersystem 110 prior to additional customization, or subsequent toadditional customization. In both instances, the extent of customizationprovided by basic translator 118 and advanced translator 126 can bemodified, in accordance with the user of computer system 110 preference.

FIG. 4 is a flowchart 400 illustrating operational steps for additionalcustomization of requested textual content, in accordance with anembodiment of the present invention. As previously discussed, foroperational steps described in FIG. 4, the user of computer system 110is an authenticated user of computer system 110 and is granted access tointeract with available textual content via interface 112. Furthermore,operational steps for additional customization of textual content may beperformed subsequent to computer system 110 determining to customize therequested textual content, as described in step 210 of FIG. 2. In otherinstances, operational steps for additional customization of textualcontent may be performed subsequent to customization the requestedtextual content, as described FIG. 3.

In step 402, computer system 110 receives analyzed profile information.Computer system 110 can utilize analyzed profile information forcustomization of the requested textual content (e.g., FIG. 3) andadditional customization of the requested textual content (e.g., FIG.4). In this embodiment, computer system 110 can use different portionsof the analyzed profile information for additional customization of therequested content. For example, the analyzed profile information usedfor additional customization of the requested textual content maydescribe different information (e.g., reading level, comprehensionlevel, genre preference, style preference, additional secondary languagepreferences, etc.).

In step 404, computer system 110 analyzes the requested textual content.As previously discussed, computer system 110 may analyze the requestedtextual content by parsing the requested textual content into one ormore portions of textual content (e.g., words, phrases, etc.). The oneor more portions of textual content in addition with analyzed profileinformation can be used in subsequent processing to determine a mannerfor additional customization of the one or more portions of the textualcontent. In certain embodiments, computer system 110 uses the one ormore portions of textual content stored in repository 116 as a result ofprior processing (e.g., step 304, FIG. 3).

In step 406, computer system 110 leverages advanced translator 126capabilities. In this embodiment, computer system 110 uses advancedtranslator 126 for additional customization of the one or more portionsof the textual content. Advanced translator 126 can perform additionalcustomization at smaller or larger portions of the textual content(e.g., words, phrases, sentences, passages, etc.). Examples of advancedtranslator 126 capabilities may include: modifying one or more portionsof the textual content to raise or lower reading level (e.g., may beperformed by exchanging vocabulary words), altering smaller or largerportions of the textual content such that the textual content isdirected towards a preferred genre or storyline preference, customizingone or more portions of the textual content to translate between writingeras (e.g., translating Old English textual content into modernEnglish), etc.

In step 408, computer system 110 presents the requested textual contentto the user of computer system 110. In this embodiment, one or moreportions of the requested textual content may have not underwent anycustomization, underwent customization, and/or underwent additionalcustomization. Accordingly, the user of computer system 110 may interactwith the requested textual content via interface 112.

FIG. 5 is a block diagram of internal and external components of acomputer system 500, which is representative the computer systems ofFIG. 1, in accordance with an embodiment of the present invention. Itshould be appreciated that FIG. 5 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Ingeneral, the components illustrated in FIG. 5 are representative of anyelectronic device capable of executing machine-readable programinstructions. Examples of computer systems, environments, and/orconfigurations that may be represented by the components illustrated inFIG. 5 include, but are not limited to, personal computer systems,server computer systems, thin clients, thick clients, laptop computersystems, tablet computer systems, cellular telephones (e.g., smartphones), multiprocessor systems, microprocessor-based systems, networkPCs, minicomputer systems, mainframe computer systems, and distributedcloud computing environments that include any of the above systems ordevices.

Computer system 500 includes communications fabric 502, which providesfor communications between one or more processors 504, memory 506,persistent storage 508, communications unit 512, and one or moreinput/output (I/O) interfaces 514. Communications fabric 502 can beimplemented with any architecture designed for passing data and/orcontrol information between processors (such as microprocessors,communications and network processors, etc.), system memory, peripheraldevices, and any other hardware components within a system. For example,communications fabric 502 can be implemented with one or more buses.

Memory 506 and persistent storage 508 are computer-readable storagemedia. In this embodiment, memory 506 includes random access memory(RAM) 516 and cache memory 518. In general, memory 506 can include anysuitable volatile or non-volatile computer-readable storage media.Software (e.g., basic translator 118, flow controller 120, etc.) isstored in persistent storage 508 for execution and/or access by one ormore of the respective processors 504 via one or more memories of memory506.

Persistent storage 508 may include, for example, a plurality of magnetichard disk drives. Alternatively, or in addition to magnetic hard diskdrives, persistent storage 508 can include one or more solid state harddrives, semiconductor storage devices, read-only memories (ROM),erasable programmable read-only memories (EPROM), flash memories, or anyother computer-readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 508 can also be removable. Forexample, a removable hard drive can be used for persistent storage 508.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage508.

Communications unit 512 provides for communications with other computersystems or devices via a network (e.g., network 140). In this exemplaryembodiment, communications unit 512 includes network adapters orinterfaces such as a TCP/IP adapter cards, wireless Wi-Fi interfacecards, or 3G or 4G wireless interface cards or other wired or wirelesscommunication links. The network can comprise, for example, copperwires, optical fibers, wireless transmission, routers, firewalls,switches, gateway computers and/or edge servers. Software and data usedto practice embodiments of the present invention can be downloaded tocomputer system 110 through communications unit 512 (e.g., via theInternet, a local area network or other wide area network). Fromcommunications unit 512, the software and data can be loaded ontopersistent storage 508.

One or more I/O interfaces 514 allow for input and output of data withother devices that may be connected to computer system 500. For example,I/O interface 514 can provide a connection to one or more externaldevices 520 such as a keyboard, computer mouse, touch screen, virtualkeyboard, touch pad, pointing device, or other human interface devices.External devices 520 can also include portable computer-readable storagemedia such as, for example, thumb drives, portable optical or magneticdisks, and memory cards. I/O interface 514 also connects to display 522.

Display 522 provides a mechanism to display data to a user and can be,for example, a computer monitor. Display 522 can also be an incorporateddisplay and may function as a touch screen, such as a built-in displayof a tablet computer.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A method comprising: authenticating, by one ormore computer processors, an identity of a user; retrieving, by the oneor more computer processors, a user profile that corresponds to theidentity of the user, wherein the user profile contains uniqueinformation relating to at least one of the user's age, user'sinterests, user's location, or user's preference information, and theuser profile contains unique information relating to the user'scomprehension abilities and information relating to a user engagementlevel; analyzing, by the one or more computer processors, preferences ofa user of a computer system, within the user profile, to identify a setof customization rules; analyzing, by the one or more computerprocessors, one or more portions of textual content requested by theuser to identify one or more textual elements for customization, whereinthe textual content is a news article, and the textual elements forcustomization are non-technical, advanced-level words that are to bedisplayed in a predetermined language; monitoring, in real time, by theone or more computer processors, one or more interactions between theuser and the textual content including mouth and eye movements of theuser; analyzing, by the one or more computer processors, an engagementlevel of the user to identify a low engagement level, wherein the lowengagement level is based, at least in part on the one or moreinteractions between the user, the textual content and a camerainterface; and responsive to identifying the low engagement level of theuser, customizing, simultaneously with the real time monitoring, by oneor more computer processors, the one or more portions of the textualcontent based, at least in part, on the set of customization rules. 2.The method of claim 1, wherein analyzing preferences of the user of thecomputer system to identify the set of customization rules comprises:generating, by the one or more computer processors, a profile associatedwith the user, based, at least in part, on the identified set ofcustomization rules at a first time; and updating, by the one or morecomputer processors, the profile, based, at least in part, on anadditional set of customization rules at a second time.
 3. The method ofclaim 1, wherein analyzing the one or more portions of textual contentrequested by the user to identify the one or more textual elements forcustomization comprises: parsing, by the one or more computerprocessors, the one or more portions of textual content into the one ormore textual elements; and identifying, by the one or more computerprocessors, the one or more textual elements for customization, based,at least in part, on the identified set of customization rules.
 4. Themethod of claim 2, wherein monitoring the user of the computer systemcomprises: updating, by the one or more computer processors, theprofile, based, at least in part, on the identified low engagementlevel; and customizing, by the one or more computer processors, one ormore portions of the requested textual content, based, at least in part,on the identified low engagement level.
 5. The method of claim 1,wherein customizing the one or more portions of the textual contentbased, at least in part, on the set of customization rules comprises:identifying, by the one or more computer processors, one or more textualelements to translate utilizing the identified set of customizationrules; and translating, by the one or more computer processors, the oneor more identified textual elements according to the identified set ofcustomization rules.
 6. The method of claim 5, further comprising:identifying, by the one or more computer processors, one or more textualelements for additional customization based on the identified set ofcustomization rules; and customizing, by the one or more computerprocessors, the one or more textual elements for additionalcustomization, based, at least in part, on an updated profile associatedwith the user, wherein the updated profile associated with the usercomprises an additional set of customization rules.
 7. The method ofclaim 1, further comprising: presenting, by the one or more computerprocessors, the customized textual content to the user.
 8. A computerprogram product, the computer program product comprising: one or morecomputer readable storage media and program instructions stored on theone or more computer readable storage media, the program instructionscomprising: program instructions to authenticate an identity of a user;program instructions to retrieve a user profile that corresponds to theidentity of the user, wherein the user profile contains uniqueinformation relating to at least one of the user's age, user'sinterests, user's location, or user's preference information, and theuser profile contains unique information relating to the user'scomprehension abilities and information relating to a user engagementlevel; program instructions to analyze preferences of a user of acomputer system, within the user profile, to identify a set ofcustomization rules; program instructions to analyze one or moreportions of textual content requested by the user to identify one ormore textual elements for customization, wherein the textual content isa news article, and the textual elements for customization arenon-technical, advanced-level words that are to be displayed in apredetermined language; program instructions to monitor, in real time,one or more interactions between the user and the textual contentincluding mouth and eye movements of the user; program instructions toanalyze an engagement level of the user to identify a low engagementlevel, wherein the low engagement level is based, at least in part onthe one or more interactions between the user, the textual content and acamera interface; and program instructions to, responsive to identifyingthe low engagement level of the user, customize, simultaneously with thereal time monitoring, the one or more portions of the textual contentbased, at least in part, on the set of customization rules.
 9. Thecomputer program product of claim 8, wherein the program instructions toanalyze preferences of the user of the computer system to identify theset of customization rules comprise: program instructions to generate aprofile associated with the user, based, at least in part, on theidentified set of customization rules at a first time; and programinstructions to update the profile, based, at least in part, on anadditional set of customization rules at a second time.
 10. The computerprogram product of claim 8, wherein the program instructions to analyzethe one or more portions of textual content requested by the user toidentify the one or more textual elements for customization comprise:program instructions to parse the one or more portions of textualcontent into the one or more textual elements; and program instructionsto identify the one or more textual elements for customization, based,at least in part, on the identified set of customization rules.
 11. Thecomputer program product of claim 9, wherein the program instructions tomonitor the user of the computer system comprise: program instructionsto update the profile, based, at least in part, on the identified lowengagement level; and program instructions to customize one or moreportions of the requested textual content, based, at least in part, onthe identified low engagement level.
 12. The computer program product ofclaim 8, wherein the program instructions to customize the one or moreportions of the textual content based, at least in part, on the set ofcustomization rules comprise: program instructions to identify one ormore textual elements to translate utilizing the identified set ofcustomization rules; and program instructions to translate the one ormore identified textual elements according to the identified set ofcustomization rules.
 13. The computer program product of claim 12,wherein the program instructions stored on the one or more computerreadable storage media further comprise: program instructions toidentify one or more textual elements for additional customization basedon the identified set of customization rules; and program instructionsto customize the one or more textual elements for additionalcustomization, based, at least in part, on an updated profile associatedwith the user, wherein the updated profile associated with the usercomprises an additional set of customization rules.
 14. The computerprogram product of claim 8, wherein the program instructions stored onthe one or more computer readable storage media further comprise:program instructions to present the customized textual content to theuser.
 15. A computer system comprising: one or more computer processors;one or more computer readable storage media; program instructions storedon the one or more computer readable storage media for execution by atleast one of the one or more processors, the program instructionscomprising: program instructions to authenticate an identity of a user;program instructions to retrieve a user profile that corresponds to theidentity of the user, wherein the user profile contains uniqueinformation relating to at least one of the user's age, user'sinterests, user's location, or user's preference information, and theuser profile contains unique information relating to the user'scomprehension abilities and information relating to a user engagementlevel; program instructions to analyze preferences of a user of acomputer system, within the user profile, to identify a set ofcustomization rules; program instructions to analyze one or moreportions of textual content requested by the user to identify one ormore textual elements for customization, wherein the textual content isa news article, and the textual elements for customization arenon-technical, advanced-level words that are to be displayed in apredetermined language; program instructions to monitor, in real time,one or more interactions between the user and the textual contentincluding mouth and eye movements of the user; program instructions toanalyze an engagement level of the user to identify a low engagementlevel, wherein the low engagement level is based, at least in part onthe one or more interactions between the user, the textual content and acamera interface; and program instructions to, responsive to identifyingthe low engagement level of the user, customize, simultaneously with thereal time monitoring, the one or more portions of the textual contentbased, at least in part, on the set of customization rules.
 16. Thecomputer system of claim 15, wherein the program instructions to analyzepreferences of the user of the computer system to identify the set ofcustomization rules comprise: program instructions to generate a profileassociated with the user, based, at least in part, on the identified setof customization rules at a first time; and program instructions toupdate the profile, based, at least in part, on an additional set ofcustomization rules at a second time.
 17. The computer system of claim15, wherein the program instructions to analyze the one or more portionsof textual content requested by the user to identify the one or moretextual elements for customization comprise: program instructions toparse the one or more portions of textual content into the one or moretextual elements; and program instructions to identify the one or moretextual elements for customization, based, at least in part, on theidentified set of customization rules.
 18. The computer system of claim16, wherein the program instructions to monitor the user of the computersystem comprise: program instructions to update the profile, based, atleast in part, on the identified low engagement level; and programinstructions to customize one or more portions of the requested textualcontent, based, at least in part, on the identified low engagementlevel.
 19. The computer system of claim 15, wherein the programinstructions to customize the one or more portions of the textualcontent based, at least in part, on the set of customization rulescomprise: program instructions to identify one or more textual elementsto translate utilizing the identified set of customization rules; andprogram instructions to translate the one or more identified textualelements according to the identified set of customization rules.
 20. Thecomputer system of claim 19, wherein the program instructions stored onthe one or more computer readable storage media further comprise:program instructions to identify one or more textual elements foradditional customization based on the identified set of customizationrules; and program instructions to customize the one or more textualelements for additional customization, based, at least in part, on anupdated profile associated with the user, wherein the updated profileassociated with the user comprises an additional set of customizationrules.